package com.ybkj.daijia.server.service.impl;

import com.ybkj.daijia.serverUtils.SettingUtils;
import com.ybkj.daijia.common.Result;
import com.ybkj.daijia.config.GasStationApi;
import com.ybkj.daijia.config.PassengerApi;
import com.ybkj.daijia.config.SalesApi;
import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.gasstation.GasPrice;
import com.ybkj.daijia.server.gasstation.GasStation;
import com.ybkj.daijia.server.gasstation.Order;
import com.ybkj.daijia.server.gasstation.OrderTemp;
import com.ybkj.daijia.server.gasstation.PaymentsRecord;
import com.ybkj.daijia.server.gasstation.PaymentsRecord.RecordType;
import com.ybkj.daijia.server.mapper.FinancialRecordMapper;
import com.ybkj.daijia.server.mc.Passenger;
import com.ybkj.daijia.server.service.GasStationService;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.ApplicationEventMulticaster;
import org.springframework.stereotype.Service;

@Service
public class DefaultGasStationService implements GasStationService {

    private static final Logger logger = LoggerFactory.getLogger(DefaultGasStationService.class);


    @Autowired
    private FinancialRecordMapper financialRecordMapper;

    @Autowired
    private GasStationApi gasStationApi;

    @Autowired
    private PassengerApi passengerApi;

    @Autowired
    private SalesApi salesApi;

    @Autowired
    private ApplicationEventMulticaster applicationEventMulticaster;

    @Autowired
    private SettingUtils settingUtils;

    @Override
    public List<GasPrice> findGasPriceByGasStation(Long gsId) {
        return null;
    }

    /**
     * 查询加油站.
     */
    @Override
    public Page<GasStation> queryStationByParams(
        String name, String serviceNo, Long companyId, String address,
        String contactsPhone, Integer page, Integer rows) {
        return null;
    }

    @Override
    public Result<GasPrice> saveGasPrice(Long id, BigDecimal price) {
        return null;
    }

    @Override
    public Result<GasPrice> saveGasPriceStraightDown(Long id, String straightDown) {
        return null;
    }

    @Override
    public Result<GasPrice> saveGasPriceSort(Long id, Integer sort) {
        return null;
    }

    @Override
    public Page<PaymentsRecord> queryPaymentsRecord(
        Long gsId, String gasStation, Date start, Date end, Integer page, Integer limit) {
        return null;
    }

    @Override
    public Result<PaymentsRecord> savePaymentsRecord(Long gsId, BigDecimal money, String memo,
        String operating, RecordType recordType, Integer rcType) {
        return null;
    }

    @Override
    public GasStation queryById(Long id) {
        return null;
    }

    @Override
    public Result<GasStation> create(GasStation gasStation) {

        return null;
    }

    /**
     * 修改加油站.
     */
    @Override
    public Map<String, Object> update(GasStation gasStation) {

        return null;
    }

    @Override
    public Map<String, Object> changePassword(Long id, String password) {

        return null;
    }

    @Override
    public Map<String, Object> changeFreeze(Long id, Boolean freeze) {
        return null;
    }

    @Override
    public String delete(Long id) {
        return null;
    }

    public GasStation findGasStationLogin(String serviceNo, String contactsPhone, String password) {
        return null;
    }

    @Override
    public Order findLastOrderByPassenger(Long passengerId) {
        return null;
    }

    @Override
    public Result<Order> paymentOrder(Order order, Passenger passenger) {
        Result<Order> result = new Result<Order>();
        return result;
    }

    @Override
    public Result<OrderTemp> paymentOrderTemp(OrderTemp orderTemp) {
        Result<OrderTemp> result = new Result<OrderTemp>();
        return result;
    }

    @Override
    public OrderTemp findOneOrderTemp(Long id) {
        return null;
    }

    @Override
    public Result<OrderTemp> orderTempTreament(Long id) {
        return null;

    }
}